User:Meni yuzevich/global.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
if(mw.config.get('wgDBname')!='hewiki')
{
$(function() {
        var l = $('#ca-addsection a').clone();
        if (l.length) 
                $('span.mw-editsection:last a:last').after(l).after(' | ');
});
Qe = {
	
	bar : [
		{title : 'שמירה', onclick : 'Qe.save($(this))'},
		{title : 'תצוגה מקדימה', onclick : 'Qe.preview($(this))'},
		{title : 'ביטול', onclick : 'Qe.cancel()'}
	],
	
	run : function(){

		$('.mw-editsection').before('<span class="QuickEditor">[<a>עריכה מהירה</a>]</span>');
		var captions = $.merge($('.mw-headline').parent(), $('h1'));
		$(captions).find('.mw-editsection-link-secondary').hide();
		$(captions).hover(
			function(){$(this).find('.mw-editsection-link-secondary').show().css('visibility', 'visible')},
			function(){$(this).find('.mw-editsection-link-secondary').hide().css('visibility', 'hidden')}
		);
		
		$('.QuickEditor').on('click',function(){
			if($('#loading').length) return;

			/*** external scripts support: ***/
			
			if($('#move-section').length) Qe.external.options.move = 1; // for מדיה ויקי:סקריפטים/77.js
			if($('.gallery-slideshow').length) Qe.external.options.slideshow = 1;
			
			/** END **/
			
			Qe.next = true;
			var oldindex = Qe.index;
			Qe.index = $(this).index('.QuickEditor');
			if($('#QE').length && oldindex && Qe.index >= oldindex)Qe.index++;
			$('#QE').length ? null : Qe.copy = $($('#mw-content-text').html()).clone(true, true);
			Qe.cancel();
			var a = $('.QuickEditor').eq(Qe.index);
			var section = $(this).nextAll('.mw-editsection').find('a').eq(0).attr('href').split(/&v?e?section/)[1].replace('=', '').split('&')[0];

			if(a.parents('h1').length){
				Qe.caption = $($('#mw-content-text').children().not('div')[0]);
				Qe.next = Qe.caption[0].tagName.split('')[0] == 'H' ? false : true;
				Qe.get_caption(Qe.caption.nextAll(), 'until');
				Qe.caption.before(Qe.loading);
			}else{
				Qe.get_caption(a.parents(), 'caption');
				Qe.caption = a.parents(Qe.caption);
				Qe.get_caption(Qe.caption.nextAll(), 'until');
				Qe.caption.after(Qe.loading);
			}
			
			var href = $(this).nextAll('.mw-editsection').children('a').attr('href').replace('veaction', 'action').replace('vesection', 'section');
			Qe.until = Qe.until || '';
			$.get(href, function(e){
				$('#loading').remove();
				var text = $(e).find('#wpTextbox1').val();
				Qe.time = $(e).find('[name=wpEdittime]').val();
				Qe.base = $(e).find('[name=wpStarttime]').val();
				if(Qe.next){
					Qe.caption.nextUntil(Qe.until).remove();
				}
				var place = Qe.next ? 'after' : 'before';
				Qe.caption[place]('<div id="QE" style="clear : both"><div id="bar_icons"></div><textarea id="WYSIWYG"></textarea></div>');
				for(var btn in Qe.bar){
					$('#bar_icons').append($('<button class = "bar_click">').attr(Qe.bar[btn]).attr('section', section).text(Qe.bar[btn].title));
				}
				
				$('#bar_icons').append('<label>תקציר עריכה:</label><input id="wpSummary" name="wpSummary" style="width:500px">').prepend('<input id="wpMinoredit" type="checkbox"><label>זהו שינוי משני</label>');
				var summary = Qe.caption.children('.mw-headline').text() || 'פתיח';
				if(!Qe.next)summary = 'פתיח';
				if(summary == 'פתיח' && Qe.next){
					Qe.caption.prevAll().remove();
				}
				$('#wpSummary').val('/* ' + summary + ' */ ');
				if(Qe.caption.parent().css('position') == 'absolute')Qe.caption.parent().remove();
				if(Qe.next)Qe.caption.remove();
				$('#WYSIWYG').val(text).height($("#WYSIWYG")[0].scrollHeight);
				$('body, html').scrollTop($('#QE').offset().top);
				eval(Qe.smr);
				$('#summariesList').css('width', '100%');
				
				//autoComplete:
				
				if($.fn.autoCompleteWikiText){
					$('#WYSIWYG').autoCompleteWikiText({
						positionMy: "left top", 
						positionAt: "left top", 
						positionOf: '#QE', 
						positionOffset: "0 0",
						menuCSS: {'z-index': 10000, background:'#E0EEF7', 'box-shadow': '1px 1px 5px rgba(0,0,200,.4)', 'border-radius': '3px'},
						itemCSS: {padding: 0, margin: 0}
					});
				}
				
				if(Qe.ToolBar){
					$('#WYSIWYG').before(Qe.ToolBar);
				}
			});
		});
		
	},
	
	save : function(elem){
		$('#bar_icons').after(Qe.loading);
		var section = elem.attr("section");
		var param = {
			action : 'edit',
			basetimestamp : Qe.time,
			starttimestamp : Qe.base,
			title : mw.config.get('wgPageName'),
			text : $('#WYSIWYG').val(),
			token : mw.user.tokens.values.editToken,
			section : section,
			summary : $('#wpSummary').val(),
			format : 'xml'
		};
		if($('#wpMinoredit').is(':checked'))param.minor = true;
		
		$.post('/w/api.php',param,function(f){
			
			var conflict = false;
			if($(f).find('error').length){
				alert('התנגשות עריכה: משתמש אחר ערך את הפסקה לאחר שהתחלתם לערוך אותה. כעת תוצג לפניכם הגרסה העדכנית של הדף, אותה תוכלו לערוך.');
				conflict = true;
			}
			
			$.get(document.URL,function(e){
				$('#mw-content-text').html($(e).find('#mw-content-text').html());
				if(conflict){
					$('#mw-content-text').append($('<div>', {id : 'oldval'}).append($('<div>').append('זהו הטקסט שלכם, תוכלו להעתיק ולהדביק אותו בחלונית העריכה <button style="float : left" onclick="$(\'#oldval\').remove()">סגור</button>'), $('<textarea>').val(param.text)));
					$('#oldval textarea').height($('#oldval textarea')[0].scrollHeight + 50); 
				}
				var result = conflict ? 'העריכה בוטלה' : 'העריכה נשמרה בהצלחה!';
				mw.util.jsMessage(result);
				$('.QuickEditor').remove();
				$('.mw-editsection').before('<span class="QuickEditor">[<a>עריכה מהירה</a>]</span>');
				
				if(Qe.visual){
					$('#mw-content-text .mw-editsection a').each(function(){
						Qe.ve.bild($(this));
					});
					Qe.ve.style();
				}

				for(var opt in Qe.external.options)Qe.external[opt]();
			});
		});
	},
	
	get_caption : function(elem, obj){
		elem.each(function(){
			var tag = this.tagName.split('');

			if(tag[0] == 'H' && /[0-9]/.test(tag[1])){
				if(obj == 'until')
				{
					var ctag = Qe.caption[0].tagName.split('')[1];
					if(tag[1] > ctag) return true;
				}
				Qe[obj] = this.tagName;
				return false;
			}
		});
	},
	
	preview : function(elem){
		if($('#WYSIWYG').val() !== ''){
			$('#bar_icons').after(Qe.loading);
			var section = elem.attr("section");
			var param = {
				action : 'edit',
				title : mw.config.get('wgPageName'),
				wpTextbox1 : $('#WYSIWYG').val(),
				section : section,
				wpPreview :true,
				live : true
			};
			$.post('/w/index.php', param, function(e){
				$('#loading').remove();
				var pre = $($(e).find('preview').text());
				
				for(var cls = 0; cls < pre.length; cls++){
					if($(pre[cls]).attr('class') == 'mw-content-rtl'){
						precon = pre[cls];
						break;
					}
				}
				
				$('#WYSIWYG').after($('<div id = "preview">').html(precon)).hide();
			});
		}
		else {$('#WYSIWYG').hide()}
		
		elem.text('חזרה לעריכה').attr({'onclick' : 'Qe.rePreview(this)', 'title' : 'חזרה למצב עריכה'});
	},
	
	rePreview : function(elem){
		$(elem).text('תצוגה מקדימה').attr({'onclick' : 'Qe.preview($(this))', 'title' : 'תצוגה מקדימה'});
		$('#preview').remove();
		$('#WYSIWYG').show();
	},
	
	cancel : function(o){
		if(!Qe.copy)return;
		$('#mw-content-text').html(Qe.copy.clone(true, true));
		Qe.ve.style();
	},
	
	next : true,

	//for the VisualEditor:
	
	ve : {
	
		bild : function(obj){

			var bracket = $('<span>', {'class' : 'mw-editsection-bracket'}),
				link = obj.attr('href'),
				title = obj.attr('title'),
				divider = $('<span>', {'class' : 'mw-editsection-divider'}).text('|');

			var	primary = $('<a>', {'class' : 'mw-editsection-link-primary', title : title, href : link.replace('action', 'veaction').replace('section', 'vesection')}),
				secondary = $('<a>', {'class' : 'mw-editsection-link-secondary', title : title, href : link});
				
			var section = [
					bracket.clone().text('['),
					primary.text('עריכה'),
					bracket.clone().text(']'),
					divider,
					secondary.text(' עריכת קוד מקור'),
					bracket.clone().text(']')
				];
			var parent = obj.parent();
			parent.empty().append(section);
			Qe.ve.hide(parent);
		},
		
		style : function(){
			$('.mw-headline').parent().on({
				mouseenter : function(){
					$(this).addClass('mw-editsection-expanded').find('.mw-editsection-bracket:not(:first-child, :last-child)').css('visibility', 'hidden').hide();
					$(this).find('.mw-editsection-divider, .mw-editsection-bracket:last-child').css('visibility', 'visible').show();
					$(this).find('.mw-editsection-link-secondary').css('visibility', 'visible').show();
				},
				mouseleave : function(){
					Qe.ve.hide($(this));
				}
			});
		},
		
		hide : function(elem){
			elem.removeClass('mw-editsection-expanded').find('.mw-editsection-bracket:not(:first-child, :last-child)').css('visibility', 'visible').show();
			elem.find('.mw-editsection-divider, .mw-editsection-bracket:last-child').css('visibility', 'hidden').hide();
			elem.find('.mw-editsection-link-secondary').css('visibility', 'hidden').hide().prev().css('visibility', 'hidden').hide();
		}
		
	},

	//for external scripts:

	external : {
		move: function(){
			$('.mw-editsection').each(function(){
				if($(this).parents('h1').length)return true;
				var href = $(this).find('a').eq(0).attr('href').replace('&vesection', '&section').replace('&veaction', '&action');
				var tag = $(this).parent()[0].tagName.split('')[1];
				href += '&move=' + tag;
				$(this).nextAll().after('<span id="move-section">[<a href = ' + href + '>העברה</a>]</span>');
			});
		},

		slideshow: function(){
			$('.gallery-slideshow').each(function(){
				var slide = new SlideShow($(this));
				slide.run();
			});
		},

		options : {}
	},

	loading : '<img id = "loading" src = "data:image/gif;base64,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">'
	
};

$(function(){

	var style = '', rules = {

		button : {cursor : 'pointer'},

		'.bar_click' : {margin : '0 2px'},
		
		'#bar_icons' : {
			'margin-bottom' : '4px',
			border : '2px solid #C8C8E9',
			padding : '5px'
		},
		
		'#bar_icons label' : {margin: '0 2px 0 10px'},
		
		'.QuickEditor, #move-section' : {
			float : $('.mw-editsection').css('float') == 'left' ? 'left' : 'none',
			'font-weight' : 'normal',
			'font-size' : 'small',
			'margin-right' : '1em',
			'line-height' : '1em',
			display : 'inline-block',
			cursor : 'pointer'
		},
		
		'#oldval' : {
			overflow : 'auto',
			border: '3px solid #C9C9CF',
			position : 'fixed',
			'max-height' : '80%',
			top : '50px',
			width : '82%',
			'background-color' : 'rgb(201, 201, 207)',
			padding : '5px',
			'box-shadow' : '2px 3px 6px rgba(0,0,0,.3)',
			'border-radius' : '5px'
		},
		
		'#oldval div' : {
			height : '30px',
			color : 'white',
			'font-size' : '15px',
			'line-height' : '1.7'
		},
		
		'#WYSIWYG, #oldval textarea' : {width : '99.5%'}
	};
	
	for(var k in rules){
		style += k + '{';
		for(var i in rules[k]){
			style += i + ':' + rules[k][i] + ';';
		}
		style += '}';
	}
	
	if(Qe.Tools){
		$.get('/w/index.php?title=משתמש:קובי_כרמל/Qe_Toolbar&action=edit', function(e){return Qe.ToolBar = $(e).find('#wpTextbox1').val()});
	}
	
	mw.util.addCSS(style);
	
	/* $.get('/wiki/%D7%9E%D7%93%D7%99%D7%94_%D7%95%D7%99%D7%A7%D7%99:Gadget-Summarieslist.js?action=edit',function(e){
		Qe.smr = $(e).find('#wpTextbox1').val().split("(mw.util.getParamValue('section') == 'new')) {")[1];
		Qe.smr = Qe.smr.slice(0, Qe.smr.length - 7).split("wpSummary').after").join("bar_icons').append");
	}); */
	
	if($('.mw-editsection-link-primary').length)Qe.visual = true;

	Qe.run();

});

// :סקריפט 67 נכתב על ידי [[משתמש:RoyTek]], נערך על ידי [[משתמש:קיפודנחש]].
if(mw.config.get('wgNamespaceNumber')==2 || mw.config.get('wgNamespaceNumber')==3)
mw.loader.using('jquery.tipsy', function() {
    var user=mw.config.get('wgTitle').replace(/\/.*$/, '');
	if (!user)
		return;
		
	function tsToDate(rc) {
		var date = new Date(rc.timestamp);
		if (isNaN(date)) {// all sane browsers can just do new Date(rc.timestanp). only IE refuses.
			dar = rc.timestamp.split(/[^\d]/); // timestamp looks like so: "2011-05-05T18:56:27Z"
			var month = parseInt(dar[1],10) - 1; // "Date" expexts months in the range of 0..11, timestamp is more conventional.
			var minutes = parseInt(dar[4], 10) - new Date().getTimezoneOffset();//ts is UTC, but new Date(y,M,d,h,m,s) assumes local TZ
			date = new Date(dar[0],month,dar[2],dar[3],minutes,dar[5]);
		}
		return date;
	}

	function ago(ms) {
		var s = ms / 1000;
		if (s < 100)
			return 'ברגע זה';
		var ranges = [
				{r: 60, t: 'דקות', s: 'דקה', d: 'שתי דקות'},
				{r: 60, t: 'שעות', s: 'שעה', d: 'שעתיים'},
				{r: 24, t: 'ימים', s: 'יממה', d: 'יומיים'},
				{r: 7, t: 'שבועות', s: 'שבוע', d: 'שבועיים'},
				{r: 52, t: 'שנים', s: 'שנה', d: 'שנתיים'}
			];
			
		var est = '', num;
		for (var i = 0; i < ranges.length; i++) {
			var range = ranges[i];
			s /= range.r;
			if (s < 1)
				break;
			num = '';
			if (s < 2)
				est = range.s;
			else if (s < 3 && range.d)
				est = range.d;
			else {
				num = '-' + Math.floor(s) + ' ';
				est = range.t;
			}
		}
		return 'לפני כ' + num + est;
	}
	
	function pic(recent) {
		return 	recent
			? '//upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Dialog-information_on.svg/15px-Dialog-information_on.svg.png'
			: '//upload.wikimedia.org/wikipedia/commons/thumb/1/11/Dialog-information_red.svg/15px-Dialog-information_red.svg.png';
	}
	
    $.getJSON(mw.util.wikiScript('api'), 
		{action: 'query', list: 'usercontribs', ucuser: user, uclimit: '1', format:'json'}, 
		function (data) {
		   if (data && data.query && data.query.usercontribs && data.query.usercontribs.length) {
				var lastEditTime = tsToDate(data.query.usercontribs[0]),
					timeSinceEdit = new Date() - lastEditTime;
					recent = timeSinceEdit < 1000 * 60 * 20,
					page = data.query.usercontribs[0].title,
					pageLink = $('<a>', {href: mw.util.getUrl(page), text: page}),
					userLinkTitle = 'השאר ל' + user + ' הודעה חדשה בדף השיחה',
					userLink = $('<a>', {href: mw.util.getUrl('User Talk:' + user) + '?action=edit&section=new', title: userLinkTitle, text: user}),
					div = $('<div>')
						.append('העריכה האחרונה של ').append(userLink).append('<br />')
						.append('הייתה ' + ago(timeSinceEdit) + '<br />')
						.append('בדף: ').append(pageLink),
					timer = null,
					img = $('<img>',{src: pic(recent)})
						.css({float: 'left'})
						.tipsy({gravity: 'nw', trigger: 'manual', title: function(){return div.html();}, html: true, fade: true})
						.mouseover(function() {
							img.tipsy('show');
						})
						.mouseout(function() {
							timer = setTimeout(function(){
								img.tipsy('hide');
							}, 1000);
						});
				$('.tipsy')
					.on('mouseover', function() {
						clearTimeout(timer);
					})
					.on('mouseout', function(){
						timer = setTimeout(function(){
							img.tipsy('hide');
						}, 1000);
					});
				$('#firstHeading').prepend(img);
			}
		}
     ); 
});

if ( mw.config.get( 'wgNamespaceNumber' ) + 1 ) 
(function() {
"use strict";
	mw.loader.using( 'mediawiki.api', function() {
		new mw.Api().get( {
			prop: 'info',
			inprop: 'watchers|visitingwatchers',
			titles: mw.config.get( 'wgPageName' )
		} ).done( function( data ) {
			if ( data && data.query && data.query.pages )
				for ( var pageid in data.query.pages ) {
					var pinfo = data.query.pages[pageid];
					showWatchers( pinfo.watchers, pinfo.visitingwatchers );
				}
		} );	
	} );

	function showWatchers( watchersNum, visitingWatchers ) {
		var color, 
			text,
			caWatch = $( '#ca-watch a, #ca-unwatch a' ),
			range = watchersNum === 0 ? 'zero'
			: watchersNum === 1 ? 'one'
			: watchersNum < 5 ? 'few'
			: watchersNum < 12 ? 'several'
			: watchersNum < 30 ? 'dozens'
			: watchersNum >= 30 ? 'many'
			: 'unknown'; // less than 30; user does not have permissions to get watchers count
		switch ( range ) {
			case 'zero':
				text = 'אין עוקבים';
				color = '#ff0000';
				break;
			case 'one':
				text = 'עוקב יחיד';
				color = 'orange';
				break;
			case 'unknown':
				color = 'yellow';
				text = 'פחות מ-30 עוקבים';
				break;
			default: 
				text = watchersNum + ' עוקבים';
				color = { few: 'pink', several: 'yellow', dozens: 'lightblue', many: 'lightgreen' }[range];
				break;
		}
		if ( typeof( visitingWatchers ) === 'number' )
			text += ", " + visitingWatchers + " פעילים";
		if ( caWatch.length )
			caWatch.css( { backgroundColor: color } ).attr( { title: text } );
		else $( function() { // wait until #ca-watch is available
			$( '#ca-watch a' ).css( { backgroundColor: color } ).attr( { title: text } );
		});
	}
})();
}




//כפתורי תרומות וסטטיסטיקות למשתמשים | ContribsTabVector | credit en:User:Equazcion/ContribsTabVector.js
mw.loader.using(['mediawiki.util', 'mediawiki.Uri'], function () {
	"use strict";
	var username, p_views_ul_li, contribsTabUrl, contribsTabStatsUrl, CATabUrl;

	// Set default options for any that haven't been set
	function setDefault(option, val) {
		if (window[option] === undefined) {
			window[option] = val;
		}
	}
	setDefault('contribsTabName', 'Ctrbs');
	setDefault('contribsTabNumber', 50);
	setDefault('contribsTabStats', true);
	setDefault('contribsTab', true);
	setDefault('contribsTabStatsName', 'Stats');
	setDefault('CATabName', 'CA');
	setDefault('CATab', true);

	username = mw.config.get('wgRelevantUserName');
	if (!username) {
		return; // Don't do anything if we're not on a page with a relevant username (i.e. User or User talk)
	}

	p_views_ul_li = $('#p-views ul li').eq(0); // Tab to put the new tabs before (usually "Read")

	if (window.contribsTab) { // Construct the contribs tab, if it's not turned off
		// Construct contribs URL
		contribsTabUrl = mw.util.getUrl('Special:Contributions', {
			target: username,
			limit: window.contribsTabNumber
		});

		mw.util.addPortletLink(
			'p-views',
			contribsTabUrl,
			window.contribsTabName,
			'ca-contributions',
			'Show this user\'s contributions',
			null,
			p_views_ul_li
		);
	}

	if (window.CATab) { // Construct the CA tab, if it's not turned off
		// Construct CA URL
		contribsTabUrl = mw.util.getUrl('Special:CentralAuth', {
			target: username,
		});

		mw.util.addPortletLink(
			'p-views',
			contribsTabUrl,
			window.CATabName,
			'ca-CA',
			'Show this user\'s CentralAuth',
			null,
			p_views_ul_li
		);
	}

	if (window.contribsTabStats) { // Construct the stats tab, if it's not turned off
		// Construct stats URL
		contribsTabStatsUrl = new mw.Uri('//tools.wmflabs.org/xtools-ec/')
			.extend({
				user: username,
				project: mw.config.get('wgDBname')
			})
			.toString();

		mw.util.addPortletLink(
			'p-views',
			contribsTabStatsUrl,
			window.contribsTabStatsName,
			'ca-statistics',
			'Show this user\'s editing statistics',
			null,
			p_views_ul_li
		);
	}
});